package org.feifei.basic.service;

import org.feifei.basic.query.BaseQuery;
import org.feifei.basic.util.PageList;


import java.util.List;

/**
 * 公共方法的 Service层接口
 */
public interface BaseService<T> {

    /** 查询所有 */
    List<T> list();
    /** 根据id获取 */
    T get(Long id);
    /** 添加方法 */
    void save(T t);
    /** 根据id删除 */
    void remove(Long id);
    /** 修改方法 */
    void update(T t);
    /** 基于分页的高级查询，包含了总条数，以及查询的数据 */
    PageList<List<T>> listByPage(BaseQuery query);
    /** 批量删除id */
    void batchRemove(List<Long> ids);

}
